Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour U.S. Open - New York Rolex Paris Masters - Paris Ismaning Challenger Movistar Chile Open - Santiago Vicenza Challenger French Open - Paris Generali Open - Kitzbuhel Seville Challenger U.S. Open - New York Shanghai Rolex Masters - Shanghai Australian Open - Melbourne Miami Open - Miami Bad Waltersdorf Challenger Spain F31 Spain F32 Spain F6 Spain F7 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Morocco F4 Italy F18 Spain F28 Spain F31 Spain F38 Spain F39 Spain F1 Spain F4 Spain F5 Spain F6 Croatia F5 Italy F3 Italy F5 Spain F10 Spain F11 Spain F12 Spain F14 Poland F3 Italy F13 France F13 Czech Republic F5 Spain F22 Croatia F7 Poland F5 Spain F26 Spain F27 Serbia F13 Spain F30 Spain F32 Morocco F6 Morocco F7 Spain F2 Croatia F2 Spain F3 Spain F4 Spain F6 Spain F7 Spain F8 Turkey F14 Turkey F15 Bosnia & Herzegovina F1 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Spain F19 Egypt F14 Egypt F15 Serbia F7 Italy F22 Croatia F8 Croatia F9 Serbia F13 Spain F32 Serbia F14 Spain F33 Spain F34 Croatia F10 Croatia F11 Spain F36 Spain F38 Egypt F3 Turkey F1 Spain F1 Turkey F2 Turkey F3 Spain F3 Egypt F9 Egypt F10 Italy F6 Egypt F11 Italy F7 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F4 Bulgaria F2 Bulgaria F3 Bulgaria F4 Bulgaria F6 Serbia F7 Austria F6 Austria F7 Austria F8 Serbia F14 Spain F29 Spain F30 Czech Republic F4 Turkey F44 Turkey F45 Turkey F46 Egypt F1 Egypt F2 Egypt F3 Turkey F7 Egypt F12 Egypt F13 Turkey F16 Turkey F17 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Bosnia & Herzegovina F5 Morocco F9 Serbia F3 Serbia F4 Serbia F6 Serbia F8 Serbia F9 Serbia F10 Croatia F14 Croatia F15 Croatia F16 Greece F7 Greece F8 Greece F9 Tunisia F32 Turkey F2 Turkey F7 Turkey F8 Turkey F10 Turkey F11 Turkey F14 Turkey F15 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Macedonia F1 Serbia F1 Serbia F2 Turkey F3 Serbia F4 Serbia F5 Croatia F17 Serbia F6 Croatia F9 Croatia F10 Croatia F11 Turkey F47 Tunisia F2 (Hammamet) Tunisia F6 (Hammamet) Turkey F9 (Antalya) Turkey F10 (Antalya) Turkey F11 (Antalya) Tunisia F14 (Hammamet) Tunisia F15 (Hammamet) Turkey F18 (Antalya) Bosnia & Herzegovina F2 (Brcko) Bosnia & Herzegovina F3 (Kiseljak) Georgia F2 (Telavi) Georgia F3 (Telavi) Egypt F16 Serbia F1 (Novi Sad) Serbia F2 (Novi Sad) Turkey F36 (Antalya) Turkey F37 (Antalya) Turkey F38 (Antalya) Turkey F39 (Antalya) Spain F4 Bosnia & Herzegovina F3 Czech Republic F5 Spain F29 Spain F41 Spain F2 Serbia F7 Czech Republic F1 (Prague) Qatar F4 (Doha) Qatar F5 (Doha) Qatar F6 (Doha) Turkey F3 Serbia F3 (Subotica) Turkey F15 (Antalya) Turkey F16 (Antalya) Bosnia & Herzegovina F1 (Doboj) Bosnia & Herzegovina F2 (Brcko) Bosnia & Herzegovina F3 (Kiseljak) Germany F4 (Kaltenkirchen) Austria F2 (Kramsach) Austria F3 (Wels) Italy F20 (Pontedera) Austria F5 (Vogau) Italy F32 (Santa Margherita Di Pula) Italy F33 (Santa Margherita Di Pula) Italy F34 (Santa Margherita Di Pula) M15 Antalya M15 Antalya M15 Opatija M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Prijedor M25 Doboj M25 Kiseljak M15 Belgrade M25+H Kassel M15 Piombino M15 Zlatibor M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Trento M15 Antalya M15 Antalya Tunisia F33 M15 Antalya M15 Prijedor M25 Antalya M25 Antalya M25 Antalya M25 Antalya M15 Antalya M15 Dubrovnik M25 Monastir Turkey F36 (Antalya) M25 Santa Margherita di Pula Turkey F39 (Antalya) M25 Santa Margherita di Pula Turkey F40 (Antalya) M25 Santa Margherita di Pula M15 Porec M15 Antalya M15 Porec Georgia F1 (Telavi) M25 Antalya M15 Porec M15 Antalya M25 Santa Margherita di Pula M25 Zlatibor Banja Luka Challenger Marbella Challenger Poznan Challenger Sarajevo Challenger Cordenons Challenger Vicenza Challenger Prague Challenger Mohammedia Challenger Marburg Challenger San Benedetto Challenger Liberec Challenger Prague Challenger Cordenons Challenger Seville Challenger Meknes Challenger Guangzhou Challenger Mersin Challenger Bordeaux Challenger Prague Challenger Meknes Challenger Kenitra Challenger Mohammedia Challenger Guayaquil Challenger Bucaramanga Challenger Santo Domingo Challenger Napoli Challenger Bastad Challenger Furth Challenger Cortina Challenger Fano Challenger Meerbusch Challenger Genova Challenger Kenitra Challenger Noumea Challenger Seville Challenger Oberstaufen Challenger Alicante Challenger Bordeaux Challenger Brest Challenger Casablanca Challenger Trieste Challenger Verona Challenger Seville Challenger Santo Domingo Challenger San Marino Challenger Todi Challenger Mestre Challenger Caltanissetta Challenger Perugia Challenger Cordenons Challenger San Benedetto Challenger Cali Challenger Cordenons Challenger Manerbio Challenger Como Challenger Rome Challenger Casablanca Challenger Buenos Aires Challenger Rome Challenger Lyon Challenger Ostrava Challenger Bordeaux Challenger Prostejov Challenger Lisbon Challenger Poprad Tatry Challenger San Benedetto Challenger Cortina Challenger Rome Challenger Guayaquil Challenger Santiago Challenger Rio De Janeiro Challenger Marbella Challenger Lyon Challenger L'Aquila Challenger Barcelona Challenger Marbella Challenger Aix En Provence Challenger Belgrade Challenger Buenos Aires Challenger Meerbusch Challenger Luedenscheid Challenger Seville Challenger Vilnus Challenger Rio De Janeiro Challenger Prague 2 Challenger Vicenza Challenger Karlsruhe Challenger Salzburg Challenger Seville Challenger Bad Waltersdorf Challenger Sibiu Challenger Lisbon Challenger Malaga Challenger Canberra Challenger Sarajevo Challenger Naples Challenger Guadalajara Challenger Rome Challenger Zagreb Challenger M25 Antalya Perugia Challenger Barletta Challenger Braunschweig Challenger Brasov Challenger Verona Challenger Tanger Challenger Shanghai Challenger San Marino Challenger Scheveningen Challenger Cordenons Challenger Parma Challenger Orbetello Challenger Zadar Challenger Skopje Challenger Perugia Challenger Brasov Challenger Banja Luka Challenger Cordenons Challenger Mauthausen Challenger Parma Challenger Zug Challenger Zadar Challenger Sofia 1 Challenger Villena Challenger Perugia Challenger Casablanca Challenger Como Challenger Olbia Challenger Como Challenger Zadar Challenger San Marino Challenger Como Challenger Bordeaux Challenger Perugia Challenger Ecuador Open - Quito Valencia Challenger Banja Luka Challenger Manama Challenger Phoenix Challenger Barletta Challenger Split Challenger Segovia Challenger Banja Luka Challenger Verona Challenger Seville Challenger Winston-Salem Open - Winston-Salem Alphen Challenger Kenitra Challenger Millennium Estoril Open - Estoril Guayaquil Challenger Lima Challenger Iasi Challenger Mendoza Challenger Santiago Challenger Furth Challenger Barcelona Open BancSabadell - Barcelona Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Meknes Challenger Mohammedia Challenger Casablanca Challenger Argentina Open - Buenos Aires Sophia Antipolis Challenger Millennium Estoril Open - Estoril Ecuador Open - Quito Brasil Open - Sao Paulo Vicenza Challenger Generali Open - Kitzbuhel Manerbio Challenger Maharashtra Open - Pune Ecuador Open - Quito Rio Open - Rio de Janeiro Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Swiss Open - Gstaad Generali Open - Kitzbuhel Tata Open Maharashtra - Pune Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Prostejov Challenger Fever-Tree Championships - London Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Braunschweig Challenger Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Santiago Open - Santiago Szczecin Challenger Biella Challenger Forte Village Sardegna Open - Sardinia Florence Challenger Sofia Open - Sofia Seville Challenger Great Ocean Road Open - Melbourne Argentina Open - Buenos Aires Madrid Challenger Chile Dove Men+Care Open - Santiago Serbia Open - Belgrade Cordoba Open - Cordoba Mallorca Championships - Mallorca Lima Challenger Forli Challenger Milan Challenger Iasi Challenger European Open - Antwerp Banja Luka Challenger Belgrade 2 - Belgrade Sanremo Challenger Barletta Challenger Split Challenger Adelaide International 1 - Adelaide Adelaide International 2 - Adelaide Rio Open - Rio de Janeiro Skopje Challenger Barcelona Open Banc Sabadell - Barcelona San Marino Challenger Orleans Challenger Ismaning Challenger Ortisei Challenger Antalya Challenger Firenze Open - Florence Braga Challenger Tata Open Maharashtra - Pune Phoenix Challenger Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Banja Luka Open - Banja Luka Gonet Geneva Open - Geneva Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul Sofia Open - Sofia Rome Challenger Sarajevo Challenger Split Challenger Barcelona Open Banc Sabadell - Barcelona Turin Challenger Gonet Geneva Open - Geneva SkiStar Swedish Open - Bastad Pozoblanco Challenger Modena Challenger Moselle Open - Metz Montevideo Challenger Maspalomas Challenger ASB Classic - Auckland Ecuador Open - Quito Argentina Open - Buenos Aires Nordea Open - Bastad Abierto Mexicano Telcel - Acapulco Napoli Challenger Rio Open - Rio de Janeiro Padova Challenger Plava Laguna Croatia Open - Umag Brasil Open - Sao Paulo Liberec Challenger Grand Prix Hassan II - Marrakech Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Zagreb Challenger Bordeaux Challenger Milan Challenger Braunschweig Challenger Ortisei Challenger Brescia Challenger Seville Challenger Shenzhen Challenger SkiStar Swedish Open - Bastad Lisbon Challenger Bastad Challenger Braga Challenger Biella Challenger Banja Luka Challenger Sibiu Challenger Lima Challenger Argentina Open - Buenos Aires Plava Laguna Croatia Open - Umag Canberra Challenger Phoenix Challenger Alicante Challenger Murcia Challenger Lisbon Challenger Poznan Challenger Genova Challenger Szczecin Challenger Shenzhen Challenger Barcelona Challenger Brest Challenger Helsinki Challenger Cordoba Open - Cordoba Noumea Challenger Argentina Open - Buenos Aires Bendigo Challenger Bergamo Challenger Todi Challenger Mallorca Championships - Mallorca Guayaquil Challenger Cordoba Open - Cordoba Campinas Challenger Citi Open - Washington St. Petersburg 1 Challenger Santiago Challenger Zadar Challenger Marbella Challenger Split 1 Challenger Qatar ExxonMobil Open - Doha Grand Prix Hassan II - Marrakech BMW Open - Munich Hangzhou Open - Hangzhou EFG Swiss Open - Gstaad China Open - Beijing European Open - Antwerp Hong Kong Tennis Open - Hong Kong Generali Open - Kitzbuhel Nordea Open - Bastad Aix En Provence Challenger Salzburg-Anif Challenger Perugia Challenger Szczecin Challenger Dallas Open - Dallas EFG Swiss Open - Gstaad Terra Wortmann Open - Halle Ambato Challenger Anytech365 Andalucia Open - Marbella Open Parc - Lyon Murcia Challenger Losinj Challenger Bergamo Challenger Ortisei Challenger Cordoba Open - Cordoba Rio Open - Rio de Janeiro Manama Challenger Antalya 3 Challenger Antalya 4 Challenger Forli 1 Challenger Forli 2 Challenger Forli 3 Challenger Gran Canaria Challenger Zadar Challenger Marbella Challenger Madrid Challenger Mauthausen Challenger Zagreb Challenger Tunis Challenger Vicenza Challenger Forli 6 Challenger Perugia Challenger Montechiarugolo - Parma Challenger Oeiras 3 Challenger Salzburg Challenger Amersfoort Challenger Trieste Challenger San Benedetto Challenger Santo Domingo Challenger Como Challenger Szczecin Challenger Argentina Open - Buenos Aires Sibiu Challenger Valencia Challenger Maia Challenger Barcelona Open Banc Sabadell - Barcelona Plava Laguna Croatia Open - Umag Grand Prix Hassan II - Casablanca EFG Swiss Open - Gstaad Astana Open - Astana ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona Antalya Cup - Antalya Millennium Estoril Open - Estoril Plava Laguna Croatia Open - Umag Grand Prix Hassan II - Marrakech Open Sabadell Atlantico - Barcelona Tennis Napoli Open - Naples Swiss Open - Gstaad Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid Miami Open - Miami Mutua Madrid Open - Madrid Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris Erste Bank Open - Vienna Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Rolex Paris Masters - Paris National Bank Open - Toronto Mallorca Championships - Mallorca St. Petersburg Open - St. Petersburg Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Miami Open - Miami Rio Open - Rio de Janeiro Mutua Madrid Open - Madrid National Bank Open - Montreal Internazionali BNL d'Italia - Rome Cincinnati Open - Cincinnati U.S. Open - New York Miami Open - Miami French Open - Paris Wimbledon - London French Open - Paris French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London BNP Paribas Open - Indian Wells Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, Group I, 1R, BIH-MEX 3-1 Davis Cup, Group I, 1R, BIH-GER 0-4 Davis Cup, Group I, 1R, ECU-BIH 3-2 U.S. Open - New York Australian Open (juniors) French Open (juniors) All Lower level tournaments U.S. Open - New York Mutua Madrid Open - Madrid U.S. Open - New York BMW Open - Munich Wimbledon - London Miami Open - Miami Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Australian Open - Melbourne Australian Open - Melbourne French Open - Paris U.S. Open - New York Davis Cup, Group I, 1R, PER-BIH 3-2 French Open - Paris Australian Open - Melbourne Davis Cup, Group II, 1R, BIH-LUX 4-1 French Open - Paris Davis Cup, Group II, 3R, BIH-LTU 2-3 Wimbledon - London Wimbledon (juniors) Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, World Group, Q, SUI-ESP 1-3 Olympics - Tokyo Shanghai Rolex Masters - Shanghai European Open - Antwerp Szekesfehervar Challenger Davis Cup, Group I, PO, BUL-BIH 1-3